<?php
namespace App\Models;

use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\Model;

class Course extends Model
{
    use HasDateTimeFormatter;

    protected $table = 'course';

    protected $primaryKey = 'id';

    protected $fillable = [
        'name', // 名称
        'class_id_1', // 顶级分类ID
        'class_id_2', // 二级分类ID
        'cover', // 封面图
        'banners', // banner图
        'details', // 详情
        'watch_num', // 学习人数
        'is_pay', // 是否免费
        'pay_amount', // 购买金额 单位分
        'vip_is_pay', // vip用户是否免费
        'vip_pay_amount', // vip购买金额 单位分
        'status', // 状态 0-禁用 1-显示
        'is_recommend', // 是否推荐
        'sort', // 排序值
    ];

    public function class1()
    {
        return $this->belongsTo(CourseClass::class, 'class_id_1');
    }

    public function class2()
    {
        return $this->belongsTo(CourseClass::class, 'class_id_2');
    }

    public function video()
    {
        return $this->hasMany(CourseVideo::class, 'course_id');
    }

    public function comment()
    {
        return $this->hasMany(CourseComment::class, 'course_id');
    }

    public function course()
    {
        return $this->morphTo(Collect::class, 'belong');
    }
}
